Compiling Imperfectly-nested Sparse Matrix Codes with Dependences
نویسندگان
چکیده
We present compiler technology for generating sparse matrix code from (i) dense matrix code and (ii) a description of the indexing structure of the sparse matrices. This technology embeds statement instances into a Cartesian product of statement iteration and data spaces, and produces efficient sparse code by identifying common enumerations for multiple references to sparse matrices. This approach works for imperfectly-nested codes with dependences, and produces sparse code competitive with hand-written library code.
منابع مشابه
Compiling Imperfectly-nested Sparse Matrix Codes with Dependencies
We present compiler technology for generating sparse matrix code from (i) dense matrix code and (ii) a description of the indexing structure of the sparse matrices. This technology embeds statement instances into a Cartesian product of statement iteration and data spaces, and produces efficient sparse code by identifying common enumerations for multiple references to sparse matrices. This appro...
متن کاملData-Parallel Language for Correct and Efficient Sparse Matrix Codes
Data-Parallel Language for Correct and Efficient Sparse Matrix Codes by Gilad Arnold Doctor of Philosophy in Computer Science University of California, Berkeley Professor Rastislav Bodík, Chair Sparse matrix formats encode very large numerical matrices with relatively few nonzeros. They are typically implemented using imperative languages, with emphasis on low-level optimization. Such implement...
متن کاملEigenvectors-based parallelisation of nested loops with affine dependences
Abstract This paper presents a method for parallelising nested loops with affine dependences. The data dependences of a program are represented exactly using a dependence matrix rather than an imprecise dependence abstraction. By a careful analysis of the eigenvectors and eigenvalues of the dependence matrix, we detect the parallelism inherent in the program, partition the iteration space of th...
متن کاملA Matrix-Based Approach to Global Locality Optimization
Global locality optimization is a technique for improving the cache performance of a sequence of loop nests through a combination of loop and data layout transformations. Pure loop transformations are restricted by data dependences and may not be very successful in optimizing imperfectly nested loops and explicitly parallelized programs. Although pure data transformations are not constrained by...
متن کاملPARALLEL SPARSE: Data Structure and Organization
PARALLEL SPARSE is an algorithm for the direct solution of general sparse linear systems using Gauss elimination. It is designed for distributed memory machines and has been implemented on the NCUBE-7, a hypercube machine with 128 processors. The algorithm is intended to be particularly efficient for linear systems arising from solving partial differential equations using domain decomposition w...
متن کامل